
var mongoose = require('mongoose');
var conn = mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function (callback) {

	var kittySchema = mongoose.Schema({
		name: String
	});


	// NOTE: methods must be added to the schema before compiling it with mongoose.model()
	kittySchema.methods.speak = function () {
		var greeting = this.name
			? "Meow name is " + this.name
			: "I don't have a name";
		console.log(greeting);
	}

	var Kitten = mongoose.model('Kitten', kittySchema);
	var fluffy = new Kitten({ name: 'fluffy' });
	fluffy.speak(); // "Meow name is fluffy"

	fluffy.save(function (err, fluffy) {
		if (err) return console.error(err);
		fluffy.speak();
	});

	Kitten.find(function (err, kittens) {
		if (err) return console.error(err);
		console.log(kittens);
	})

	//Kitten.find({ name: /^Fluff/ }, callback);
});


process.on('SIGINT', function() {
  mongoose.connection.close(function () {
    console.log('Mongoose disconnected on app termination');
    process.exit(0);
  });
});

